/**
* 显示消息提示框
* @param content 提示的标题
*/
export function toast(content) {
  uni.showToast({
    icon: 'none',
    title: content
  })
}

/**
* 显示模态弹窗
* @param content 提示的标题
*/
export function showConfirm(content) {
  return new Promise((resolve, reject) => {
    uni.showModal({
      title: '提示',
      content: content,
      cancelText: '取消',
      confirmText: '确定',
      success: function(res) {
        resolve(res)
      }
    })
  })
}

/**
* 参数处理
* @param params 参数
*/
export function tansParams(params) {
  let result = ''
  for (const propName of Object.keys(params)) {
    const value = params[propName]
    var part = encodeURIComponent(propName) + "="
    if (value !== null && value !== "" && typeof (value) !== "undefined") {
      if (typeof value === 'object') {
        for (const key of Object.keys(value)) {
          if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') {
            let params = propName + '[' + key + ']'
            var subPart = encodeURIComponent(params) + "="
            result += subPart + encodeURIComponent(value[key]) + "&"
          }
        }
      } else {
        result += part + encodeURIComponent(value) + "&"
      }
    }
  }
  return result
}

/**
 * 获取精确到毫秒的ISO时间戳
 * @returns {string} ISO格式的时间戳字符串，精确到毫秒
 * 格式：2024-01-01T10:30:45.123Z
 */
export function getPreciseTimestamp() {
  const now = new Date()
  // 确保毫秒部分始终是3位数字
  const isoString = now.toISOString()
  // toISOString() 已经包含毫秒，但为了确保精确，我们验证格式
  // 如果毫秒部分少于3位，补零
  if (isoString.includes('.')) {
    const parts = isoString.split('.')
    const milliseconds = parts[1].split('Z')[0]
    if (milliseconds.length < 3) {
      // 补零到3位
      const paddedMs = milliseconds.padEnd(3, '0')
      return parts[0] + '.' + paddedMs + 'Z'
    }
  }
  return isoString
}

/**
 * 获取精确到毫秒的时间戳（数字格式）
 * @returns {number} 毫秒时间戳
 */
export function getTimestamp() {
  return Date.now()
}